package com.example.demo.param.voj;


import com.example.demo.common.QueryBaseParam;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

@Data
public class VojCreateProblemParam extends QueryBaseParam {
    private Long problemId;
    /**
     * 试题名称
     */
    @NotNull
    private String problemName;

    /**
     * 语言
     */
    @NotNull
    private List<VojProblemLanguageParam> languageList;

    /**
      * 试题描述
      */
    @NotNull
    private String problemDescription;

    /**
      * 试题提示
      */
    private String problemHint;

    /**
      * 输入格式
      */
    @NotNull
    private String problemInputFormat;

    /**
      * 输出格式
      */
    @NotNull
    private String problemOutputFormat;

    /**
      * 输入样例
      */
    @NotNull
    private String problemSampleInput;

    /**
      * 输出样例
      */
    @NotNull
    private String problemSampleOutput;

    /**
      * 测试用例(JSON 格式)
      */
    @NotNull
    private String testCases;

    /**
      * 试题分类(JSON 格式)
      */
    private String problemCategories;

    /**
      * 试题标签((JSON 格式)
      */
    private String problemTags;

    /**
     * 试题文件
     */
    private String problemFiles;

    /**
     * 试题是否公开
     */
    private boolean problemIsPublic;

    /**
     * 测试点是否精确匹配
     */
    @NotNull
    private boolean isExactlyMatch;

    /**
     * 公司id
     */
    private Long companyId;

    /**
     * 状态(1:启用,0:禁用)
     */
    private Integer disabled;

}
